package org.hotpotmaterial.code.dto;

import org.hotpotmaterial.anywhere.common.mvc.rest.basic.ResultDTO;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@JsonInclude(value = Include.NON_NULL)
public class ResultOfCountDataDTO extends ResultDTO{
  
  @JsonProperty("personCount")
  @JsonPropertyDescription("personCount")
  @ApiModelProperty(value = "personCount")
  private int personCount;
  
  @JsonProperty("projectCount")
  @JsonPropertyDescription("projectCount")
  @ApiModelProperty(value = "projectCount")
  private long projectCount;
  
  @JsonProperty("apiCount")
  @JsonPropertyDescription("apiCount")
  @ApiModelProperty(value = "apiCount")
  private long apiCount;
  
  @JsonProperty("manDayCount")
  @JsonPropertyDescription("manDayCount")
  @ApiModelProperty(value = "manDayCount")
  private int manDayCount;
  
  /**
   * 版本明细
   * @param versionList
   * @return
   */
  public ResultOfCountDataDTO personCount(int personCount, long projectCount, long apiCount, int manDayCount) {
    this.personCount = personCount;
    this.projectCount = projectCount;
    this.apiCount = apiCount;
    this.manDayCount = manDayCount;
    return this;
  }
}
